package Logica;

import General.Constantes;
import Graficas.InterfaceGrafica;
import Graficas.Sprite;
import Graficas.SpriteMovements;
/**
 * Clase para un proyectil que lanza mario.
 * 
 * @author Mariano Rodecker
 * @author Matias Varela
 *
 */
public class Proyectil extends Objeto{
	protected boolean aRemover;
	public Proyectil (int SizeX,int sizeY,SpriteMovements sm,InterfaceGrafica ig){
		super.iniObjeto(SizeX, sizeY, sm, ig);
		aRemover=false;
	}
	public void Quitar(){
		aRemover=true;
	}
	public boolean isRemovido(){
		return aRemover;
	}
	@Override
	public Sprite getSprite() {
		if (this.getDirActual() == Constantes.dir_left)
			return getSpriteMovements().getSprite(1);
		else
			return getSpriteMovements().getSprite(0);
	}
	public void moverse(){
		intel.mover(this);
	}
	
	public Proyectil clone(){
		Proyectil toReturn = new Proyectil (this.sizeX,this.sizeY,sm,ig);
		toReturn.setSpriteMovements(sm.clone());
		toReturn.setX(this.getX());
		toReturn.setY(this.getY());
		toReturn.setInteligencia(intel);
		toReturn.setDirActual(this.getDirActual());
		
		return toReturn;
	}
}
